//
//  JAGAdAdapterDelegate.h
//  JAGatherAdDemo
//
//  Created by Yc on 2022/7/8.
//

#ifndef JAGAdAdapterDelegate_h
#define JAGAdAdapterDelegate_h

typedef NS_ENUM(NSUInteger, JAGAdChannelRepoType) {
    /// 数据拉取成功
    JAGAdChannelRepoSucceeded,
    /// 广告数据加载成功
    JAGAdChannelRepoLoaded,
    /// 数据拉取失败
    JAGAdChannelRepoFaileded,
    /// 渲染成功
    JAGAdChannelRepoRenderSucceeded,
    /// 曝光
    JAGAdChannelRepoExposure,
    /// 渲染失败
    JAGAdChannelRepoRenderFaileded,
    /// 曝光失败
    JAGAdChannelRepoExposureFaileded,
    /// 点击广告
    JAGAdChannelRepoClicked,
    /// 广告消失（关闭操作）
    JAGAdChannelRepoDisappear,
    /// 视屏准备播放
    JAGAdChannelRepoVideoPlayReady,
    /// 视屏开始播放
    JAGAdChannelRepoVideoPlayStart,
    /// 视屏播放失败
    JAGAdChannelRepoVideoPlayFaileded,
    /// 视屏恢复播放
    JAGAdChannelRepoVideoPlayResume,
    /// 视屏暂停播放
    JAGAdChannelRepoVideoPlayPause,
    /// 视屏播放完成
    JAGAdChannelRepoVideoPlayFinish,
    /// 达成激励
    JAGAdChannelRepoRewardEffective,
    /// 点击跳过(开屏广告事件)
    JAGAdChannelRepoSkipClicked,
    /// 倒计时结束(开屏广告事件)
    JAGAdChannelRepoCountdownToZero,
    /// 落地页关闭
    JAGAdChannelRepoLandingPageClosed,
    
};

@protocol JAGAdAdapterDelegate <NSObject>

@optional

/// 竞价广告请求参数
- (NSDictionary *_Nonnull)requestBiddingAds:(NSArray *_Nullable)ads adapter:(id _Nullable )subclass;

/// 信息流事件上报
- (void)reportNativeWithType:(JAGAdChannelRepoType)repoType adapter:(id _Nonnull)adapter param:(id _Nullable )param error:( NSError * _Nullable )error;

/// 事件上报
- (void)reportWithType:(JAGAdChannelRepoType)repoType adapter:(id _Nonnull )adapter error:( NSError * _Nullable )error;

@end

#endif /* JAGAdAdapterDelegate_h */
